.class public Lorg/microemu/device/impl/ui/CommandManager;
.super Ljava/lang/Object;
.source "CommandManager.java"


# static fields
.field private static final CMD_BACK:Ljavax/microedition/lcdui/Command;

.field public static final CMD_MENU:Ljavax/microedition/lcdui/Command;

.field private static final CMD_SELECT:Ljavax/microedition/lcdui/Command;

.field private static instance:Lorg/microemu/device/impl/ui/CommandManager;


# instance fields
.field private menuCommandListener:Ljavax/microedition/lcdui/CommandListener;

.field private menuCommands:Ljava/util/Vector;

.field private menuList:Ljavax/microedition/lcdui/List;

.field private previous:Ljavax/microedition/lcdui/Displayable;


# direct methods
.method static constructor <clinit>()V
    .locals 4

    .prologue
    const/4 v3, 0x0

    .line 42
    new-instance v0, Ljavax/microedition/lcdui/Command;

    const-string v1, "Menu"

    const/4 v2, 0x7

    invoke-direct {v0, v1, v2, v3}, Ljavax/microedition/lcdui/Command;-><init>(Ljava/lang/String;II)V

    sput-object v0, Lorg/microemu/device/impl/ui/CommandManager;->CMD_MENU:Ljavax/microedition/lcdui/Command;

    .line 44
    new-instance v0, Ljavax/microedition/lcdui/Command;

    const-string v1, "Back"

    const/4 v2, 0x2

    invoke-direct {v0, v1, v2, v3}, Ljavax/microedition/lcdui/Command;-><init>(Ljava/lang/String;II)V

    sput-object v0, Lorg/microemu/device/impl/ui/CommandManager;->CMD_BACK:Ljavax/microedition/lcdui/Command;

    .line 45
    new-instance v0, Ljavax/microedition/lcdui/Command;

    const-string v1, "Select"

    const/4 v2, 0x4

    invoke-direct {v0, v1, v2, v3}, Ljavax/microedition/lcdui/Command;-><init>(Ljava/lang/String;II)V

    sput-object v0, Lorg/microemu/device/impl/ui/CommandManager;->CMD_SELECT:Ljavax/microedition/lcdui/Command;

    .line 47
    new-instance v0, Lorg/microemu/device/impl/ui/CommandManager;

    invoke-direct {v0}, Lorg/microemu/device/impl/ui/CommandManager;-><init>()V

    sput-object v0, Lorg/microemu/device/impl/ui/CommandManager;->instance:Lorg/microemu/device/impl/ui/CommandManager;

    return-void
.end method

.method private constructor <init>()V
    .locals 1

    .prologue
    .line 73
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 49
    const/4 v0, 0x0

    iput-object v0, p0, Lorg/microemu/device/impl/ui/CommandManager;->menuList:Ljavax/microedition/lcdui/List;

    .line 53
    new-instance v0, Lorg/microemu/device/impl/ui/CommandManager$1;

    invoke-direct {v0, p0}, Lorg/microemu/device/impl/ui/CommandManager$1;-><init>(Lorg/microemu/device/impl/ui/CommandManager;)V

    iput-object v0, p0, Lorg/microemu/device/impl/ui/CommandManager;->menuCommandListener:Ljavax/microedition/lcdui/CommandListener;

    .line 74
    return-void
.end method

.method static access$000(Lorg/microemu/device/impl/ui/CommandManager;)Ljavax/microedition/lcdui/List;
    .locals 1
    .parameter "x0"

    .prologue
    .line 40
    iget-object v0, p0, Lorg/microemu/device/impl/ui/CommandManager;->menuList:Ljavax/microedition/lcdui/List;

    return-object v0
.end method

.method static access$100(Lorg/microemu/device/impl/ui/CommandManager;)V
    .locals 0
    .parameter "x0"

    .prologue
    .line 40
    invoke-direct {p0}, Lorg/microemu/device/impl/ui/CommandManager;->lateInit()V

    return-void
.end method

.method static access$200(Lorg/microemu/device/impl/ui/CommandManager;)Ljavax/microedition/lcdui/Displayable;
    .locals 1
    .parameter "x0"

    .prologue
    .line 40
    iget-object v0, p0, Lorg/microemu/device/impl/ui/CommandManager;->previous:Ljavax/microedition/lcdui/Displayable;

    return-object v0
.end method

.method static access$300()Ljavax/microedition/lcdui/Command;
    .locals 1

    .prologue
    .line 40
    sget-object v0, Lorg/microemu/device/impl/ui/CommandManager;->CMD_SELECT:Ljavax/microedition/lcdui/Command;

    return-object v0
.end method

.method static access$400(Lorg/microemu/device/impl/ui/CommandManager;)Ljava/util/Vector;
    .locals 1
    .parameter "x0"

    .prologue
    .line 40
    iget-object v0, p0, Lorg/microemu/device/impl/ui/CommandManager;->menuCommands:Ljava/util/Vector;

    return-object v0
.end method

.method private fillPossibleCommands(Ljava/util/Vector;Ljava/util/Vector;)V
    .locals 7
    .parameter "buttons"
    .parameter "commandsTable"

    .prologue
    const/4 v6, 0x1

    .line 168
    const/4 v4, 0x0

    .end local p0
    .local v4, i:I
    :goto_0
    invoke-virtual {p2}, Ljava/util/Vector;->size()I

    move-result v5

    if-ge v4, v5, :cond_2

    .line 169
    invoke-virtual {p1}, Ljava/util/Vector;->elements()Ljava/util/Enumeration;

    move-result-object v1

    .line 170
    .local v1, en:Ljava/util/Enumeration;
    :cond_0
    invoke-interface {v1}, Ljava/util/Enumeration;->hasMoreElements()Z

    move-result v5

    if-eqz v5, :cond_1

    .line 171
    invoke-interface {v1}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lorg/microemu/device/impl/SoftButton;

    .line 172
    .local v0, button:Lorg/microemu/device/impl/SoftButton;
    invoke-interface {v0}, Lorg/microemu/device/impl/SoftButton;->getType()I

    move-result v5

    if-ne v5, v6, :cond_0

    invoke-interface {v0}, Lorg/microemu/device/impl/SoftButton;->getCommand()Ljavax/microedition/lcdui/Command;

    move-result-object v5

    if-nez v5, :cond_0

    invoke-virtual {p2, v4}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;

    move-result-object p0

    check-cast p0, Ljavax/microedition/lcdui/Command;

    invoke-interface {v0, p0}, Lorg/microemu/device/impl/SoftButton;->preferredCommandType(Ljavax/microedition/lcdui/Command;)Z

    move-result v5

    if-eqz v5, :cond_0

    .line 175
    invoke-virtual {p2, v4}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;

    move-result-object p0

    check-cast p0, Ljavax/microedition/lcdui/Command;

    invoke-interface {v0, p0}, Lorg/microemu/device/impl/SoftButton;->setCommand(Ljavax/microedition/lcdui/Command;)V

    .line 176
    invoke-virtual {p2, v4}, Ljava/util/Vector;->removeElementAt(I)V

    .line 177
    add-int/lit8 v4, v4, -0x1

    .line 168
    .end local v0           #button:Lorg/microemu/device/impl/SoftButton;
    :cond_1
    add-int/lit8 v4, v4, 0x1

    goto :goto_0

    .line 182
    .end local v1           #en:Ljava/util/Enumeration;
    :cond_2
    const/4 v4, 0x0

    :goto_1
    invoke-virtual {p2}, Ljava/util/Vector;->size()I

    move-result v5

    if-ge v4, v5, :cond_5

    .line 183
    invoke-virtual {p1}, Ljava/util/Vector;->elements()Ljava/util/Enumeration;

    move-result-object v1

    .line 184
    .restart local v1       #en:Ljava/util/Enumeration;
    :cond_3
    invoke-interface {v1}, Ljava/util/Enumeration;->hasMoreElements()Z

    move-result v5

    if-eqz v5, :cond_4

    .line 185
    invoke-interface {v1}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lorg/microemu/device/impl/SoftButton;

    .line 186
    .restart local v0       #button:Lorg/microemu/device/impl/SoftButton;
    invoke-interface {v0}, Lorg/microemu/device/impl/SoftButton;->getType()I

    move-result v5

    if-ne v5, v6, :cond_3

    invoke-interface {v0}, Lorg/microemu/device/impl/SoftButton;->getCommand()Ljavax/microedition/lcdui/Command;

    move-result-object v5

    if-nez v5, :cond_3

    .line 188
    invoke-virtual {p2, v4}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;

    move-result-object p0

    check-cast p0, Ljavax/microedition/lcdui/Command;

    invoke-interface {v0, p0}, Lorg/microemu/device/impl/SoftButton;->setCommand(Ljavax/microedition/lcdui/Command;)V

    .line 189
    invoke-virtual {p2, v4}, Ljava/util/Vector;->removeElementAt(I)V

    .line 190
    add-int/lit8 v4, v4, -0x1

    .line 182
    .end local v0           #button:Lorg/microemu/device/impl/SoftButton;
    :cond_4
    add-int/lit8 v4, v4, 0x1

    goto :goto_1

    .line 198
    .end local v1           #en:Ljava/util/Enumeration;
    :cond_5
    invoke-virtual {p1}, Ljava/util/Vector;->elements()Ljava/util/Enumeration;

    move-result-object v3

    .line 199
    .local v3, hiddenEn:Ljava/util/Enumeration;
    :cond_6
    :goto_2
    invoke-interface {v3}, Ljava/util/Enumeration;->hasMoreElements()Z

    move-result v5

    if-eqz v5, :cond_8

    .line 200
    invoke-interface {v3}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lorg/microemu/device/impl/SoftButton;

    .line 201
    .local v2, hiddenButton:Lorg/microemu/device/impl/SoftButton;
    invoke-interface {v2}, Lorg/microemu/device/impl/SoftButton;->getType()I

    move-result v5

    if-ne v5, v6, :cond_6

    invoke-interface {v2}, Lorg/microemu/device/impl/SoftButton;->getPaintable()Lorg/microemu/device/impl/Rectangle;

    move-result-object v5

    if-nez v5, :cond_6

    invoke-interface {v2}, Lorg/microemu/device/impl/SoftButton;->getCommand()Ljavax/microedition/lcdui/Command;

    move-result-object v5

    if-eqz v5, :cond_6

    .line 204
    invoke-virtual {p1}, Ljava/util/Vector;->elements()Ljava/util/Enumeration;

    move-result-object v1

    .line 205
    .restart local v1       #en:Ljava/util/Enumeration;
    :cond_7
    invoke-interface {v1}, Ljava/util/Enumeration;->hasMoreElements()Z

    move-result v5

    if-eqz v5, :cond_6

    .line 206
    invoke-interface {v1}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lorg/microemu/device/impl/SoftButton;

    .line 207
    .restart local v0       #button:Lorg/microemu/device/impl/SoftButton;
    invoke-interface {v0}, Lorg/microemu/device/impl/SoftButton;->getType()I

    move-result v5

    if-ne v5, v6, :cond_7

    invoke-interface {v0}, Lorg/microemu/device/impl/SoftButton;->getPaintable()Lorg/microemu/device/impl/Rectangle;

    move-result-object v5

    if-eqz v5, :cond_7

    invoke-interface {v0}, Lorg/microemu/device/impl/SoftButton;->getCommand()Ljavax/microedition/lcdui/Command;

    move-result-object v5

    if-nez v5, :cond_7

    .line 210
    invoke-interface {v2}, Lorg/microemu/device/impl/SoftButton;->getCommand()Ljavax/microedition/lcdui/Command;

    move-result-object v5

    invoke-interface {v0, v5}, Lorg/microemu/device/impl/SoftButton;->setCommand(Ljavax/microedition/lcdui/Command;)V

    goto :goto_2

    .line 216
    .end local v2           #hiddenButton:Lorg/microemu/device/impl/SoftButton;
    .end local v1           #en:Ljava/util/Enumeration;
    .end local v0           #button:Lorg/microemu/device/impl/SoftButton;
    :cond_8
    return-void
.end method

.method public static getInstance()Lorg/microemu/device/impl/ui/CommandManager;
    .locals 1

    .prologue
    .line 87
    sget-object v0, Lorg/microemu/device/impl/ui/CommandManager;->instance:Lorg/microemu/device/impl/ui/CommandManager;

    return-object v0
.end method

.method private lateInit()V
    .locals 3

    .prologue
    .line 78
    new-instance v0, Ljavax/microedition/lcdui/List;

    const-string v1, "Menu"

    const/4 v2, 0x3

    invoke-direct {v0, v1, v2}, Ljavax/microedition/lcdui/List;-><init>(Ljava/lang/String;I)V

    iput-object v0, p0, Lorg/microemu/device/impl/ui/CommandManager;->menuList:Ljavax/microedition/lcdui/List;

    .line 79
    iget-object v0, p0, Lorg/microemu/device/impl/ui/CommandManager;->menuList:Ljavax/microedition/lcdui/List;

    sget-object v1, Lorg/microemu/device/impl/ui/CommandManager;->CMD_BACK:Ljavax/microedition/lcdui/Command;

    invoke-virtual {v0, v1}, Ljavax/microedition/lcdui/List;->addCommand(Ljavax/microedition/lcdui/Command;)V

    .line 80
    iget-object v0, p0, Lorg/microemu/device/impl/ui/CommandManager;->menuList:Ljavax/microedition/lcdui/List;

    sget-object v1, Lorg/microemu/device/impl/ui/CommandManager;->CMD_SELECT:Ljavax/microedition/lcdui/Command;

    invoke-virtual {v0, v1}, Ljavax/microedition/lcdui/List;->addCommand(Ljavax/microedition/lcdui/Command;)V

    .line 81
    iget-object v0, p0, Lorg/microemu/device/impl/ui/CommandManager;->menuList:Ljavax/microedition/lcdui/List;

    iget-object v1, p0, Lorg/microemu/device/impl/ui/CommandManager;->menuCommandListener:Ljavax/microedition/lcdui/CommandListener;

    invoke-virtual {v0, v1}, Ljavax/microedition/lcdui/List;->setCommandListener(Ljavax/microedition/lcdui/CommandListener;)V

    .line 82
    return-void
.end method


# virtual methods
.method public commandAction(Ljavax/microedition/lcdui/Command;)V
    .locals 2
    .parameter "command"

    .prologue
    .line 93
    iget-object v0, p0, Lorg/microemu/device/impl/ui/CommandManager;->menuList:Ljavax/microedition/lcdui/List;

    if-nez v0, :cond_0

    .line 94
    invoke-direct {p0}, Lorg/microemu/device/impl/ui/CommandManager;->lateInit()V

    .line 97
    :cond_0
    invoke-static {}, Lorg/microemu/MIDletBridge;->getMIDletAccess()Lorg/microemu/MIDletAccess;

    move-result-object v0

    invoke-virtual {v0}, Lorg/microemu/MIDletAccess;->getDisplayAccess()Lorg/microemu/DisplayAccess;

    move-result-object v0

    invoke-interface {v0}, Lorg/microemu/DisplayAccess;->getCurrent()Ljavax/microedition/lcdui/Displayable;

    move-result-object v0

    iput-object v0, p0, Lorg/microemu/device/impl/ui/CommandManager;->previous:Ljavax/microedition/lcdui/Displayable;

    .line 98
    invoke-static {}, Lorg/microemu/MIDletBridge;->getMIDletAccess()Lorg/microemu/MIDletAccess;

    move-result-object v0

    invoke-virtual {v0}, Lorg/microemu/MIDletAccess;->getDisplayAccess()Lorg/microemu/DisplayAccess;

    move-result-object v0

    iget-object v1, p0, Lorg/microemu/device/impl/ui/CommandManager;->menuList:Ljavax/microedition/lcdui/List;

    invoke-interface {v0, v1}, Lorg/microemu/DisplayAccess;->setCurrent(Ljavax/microedition/lcdui/Displayable;)V

    .line 99
    return-void
.end method

.method public updateCommands(Ljava/util/Vector;)V
    .locals 13
    .parameter "commands"

    .prologue
    const/4 v12, 0x0

    const/4 v11, 0x0

    const/4 v10, 0x1

    .line 104
    iget-object v8, p0, Lorg/microemu/device/impl/ui/CommandManager;->menuList:Ljavax/microedition/lcdui/List;

    if-nez v8, :cond_0

    .line 105
    invoke-direct {p0}, Lorg/microemu/device/impl/ui/CommandManager;->lateInit()V

    .line 108
    :cond_0
    invoke-static {}, Lorg/microemu/device/DeviceFactory;->getDevice()Lorg/microemu/device/Device;

    move-result-object v8

    invoke-interface {v8}, Lorg/microemu/device/Device;->getSoftButtons()Ljava/util/Vector;

    move-result-object v1

    .line 109
    .local v1, buttons:Ljava/util/Vector;
    const/4 v7, 0x0

    .line 110
    .local v7, numOfButtons:I
    invoke-virtual {v1}, Ljava/util/Vector;->elements()Ljava/util/Enumeration;

    move-result-object v4

    .line 111
    .local v4, en:Ljava/util/Enumeration;
    :cond_1
    :goto_0
    invoke-interface {v4}, Ljava/util/Enumeration;->hasMoreElements()Z

    move-result v8

    if-eqz v8, :cond_2

    .line 112
    invoke-interface {v4}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lorg/microemu/device/impl/SoftButton;

    .line 113
    .local v0, button:Lorg/microemu/device/impl/SoftButton;
    invoke-interface {v0}, Lorg/microemu/device/impl/SoftButton;->getType()I

    move-result v8

    if-ne v8, v10, :cond_1

    .line 114
    invoke-interface {v0, v11}, Lorg/microemu/device/impl/SoftButton;->setCommand(Ljavax/microedition/lcdui/Command;)V

    .line 115
    add-int/lit8 v7, v7, 0x1

    goto :goto_0

    .line 119
    .end local v0           #button:Lorg/microemu/device/impl/SoftButton;
    :cond_2
    if-nez p1, :cond_4

    .line 163
    :cond_3
    :goto_1
    return-void

    .line 123
    :cond_4
    new-instance v3, Ljava/util/Vector;

    invoke-direct {v3}, Ljava/util/Vector;-><init>()V

    .line 124
    .local v3, commandsTable:Ljava/util/Vector;
    const/4 v5, 0x0

    .local v5, i:I
    :goto_2
    invoke-virtual {p1}, Ljava/util/Vector;->size()I

    move-result v8

    if-ge v5, v8, :cond_5

    .line 125
    invoke-virtual {v3, v11}, Ljava/util/Vector;->addElement(Ljava/lang/Object;)V

    .line 124
    add-int/lit8 v5, v5, 0x1

    goto :goto_2

    .line 129
    :cond_5
    invoke-virtual {p1}, Ljava/util/Vector;->elements()Ljava/util/Enumeration;

    move-result-object v4

    .line 130
    :cond_6
    :goto_3
    invoke-interface {v4}, Ljava/util/Enumeration;->hasMoreElements()Z

    move-result v8

    if-eqz v8, :cond_a

    .line 131
    invoke-interface {v4}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;

    move-result-object v8

    check-cast v8, Lorg/microemu/device/ui/CommandUI;

    invoke-interface {v8}, Lorg/microemu/device/ui/CommandUI;->getCommand()Ljavax/microedition/lcdui/Command;

    move-result-object v2

    .line 133
    .local v2, commandToSort:Ljavax/microedition/lcdui/Command;
    const/4 v5, 0x0

    :goto_4
    invoke-virtual {v3}, Ljava/util/Vector;->size()I

    move-result v8

    if-ge v5, v8, :cond_6

    .line 134
    invoke-virtual {v3, v5}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;

    move-result-object v8

    if-nez v8, :cond_7

    .line 135
    invoke-virtual {v3, v2, v5}, Ljava/util/Vector;->setElementAt(Ljava/lang/Object;I)V

    goto :goto_3

    .line 138
    :cond_7
    invoke-virtual {v2}, Ljavax/microedition/lcdui/Command;->getPriority()I

    move-result v9

    invoke-virtual {v3, v5}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;

    move-result-object v8

    check-cast v8, Ljavax/microedition/lcdui/Command;

    invoke-virtual {v8}, Ljavax/microedition/lcdui/Command;->getPriority()I

    move-result v8

    if-ge v9, v8, :cond_9

    .line 139
    invoke-virtual {v3}, Ljava/util/Vector;->size()I

    move-result v8

    sub-int v6, v8, v10

    .local v6, j:I
    :goto_5
    if-le v6, v5, :cond_9

    .line 140
    sub-int v8, v6, v10

    invoke-virtual {v3, v8}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;

    move-result-object v8

    if-eqz v8, :cond_8

    .line 141
    sub-int v8, v6, v10

    invoke-virtual {v3, v8}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;

    move-result-object v8

    invoke-virtual {v3, v8, v6}, Ljava/util/Vector;->setElementAt(Ljava/lang/Object;I)V

    .line 139
    :cond_8
    add-int/lit8 v6, v6, -0x1

    goto :goto_5

    .line 133
    .end local v6           #j:I
    :cond_9
    add-int/lit8 v5, v5, 0x1

    goto :goto_4

    .line 148
    .end local v2           #commandToSort:Ljavax/microedition/lcdui/Command;
    :cond_a
    invoke-virtual {v3}, Ljava/util/Vector;->size()I

    move-result v8

    if-gt v8, v7, :cond_b

    .line 149
    invoke-direct {p0, v1, v3}, Lorg/microemu/device/impl/ui/CommandManager;->fillPossibleCommands(Ljava/util/Vector;Ljava/util/Vector;)V

    goto :goto_1

    .line 154
    :cond_b
    sget-object v8, Lorg/microemu/device/impl/ui/CommandManager;->CMD_MENU:Ljavax/microedition/lcdui/Command;

    invoke-virtual {v3, v8, v12}, Ljava/util/Vector;->insertElementAt(Ljava/lang/Object;I)V

    .line 155
    invoke-direct {p0, v1, v3}, Lorg/microemu/device/impl/ui/CommandManager;->fillPossibleCommands(Ljava/util/Vector;Ljava/util/Vector;)V

    .line 156
    :goto_6
    iget-object v8, p0, Lorg/microemu/device/impl/ui/CommandManager;->menuList:Ljavax/microedition/lcdui/List;

    invoke-virtual {v8}, Ljavax/microedition/lcdui/List;->size()I

    move-result v8

    if-lez v8, :cond_c

    .line 157
    iget-object v8, p0, Lorg/microemu/device/impl/ui/CommandManager;->menuList:Ljavax/microedition/lcdui/List;

    invoke-virtual {v8, v12}, Ljavax/microedition/lcdui/List;->delete(I)V

    goto :goto_6

    .line 159
    :cond_c
    const/4 v5, 0x0

    :goto_7
    invoke-virtual {v3}, Ljava/util/Vector;->size()I

    move-result v8

    if-ge v5, v8, :cond_3

    .line 160
    iput-object v3, p0, Lorg/microemu/device/impl/ui/CommandManager;->menuCommands:Ljava/util/Vector;

    .line 161
    iget-object v9, p0, Lorg/microemu/device/impl/ui/CommandManager;->menuList:Ljavax/microedition/lcdui/List;

    invoke-virtual {v3, v5}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;

    move-result-object v8

    check-cast v8, Ljavax/microedition/lcdui/Command;

    invoke-virtual {v8}, Ljavax/microedition/lcdui/Command;->getLabel()Ljava/lang/String;

    move-result-object v8

    invoke-virtual {v9, v8, v11}, Ljavax/microedition/lcdui/List;->append(Ljava/lang/String;Ljavax/microedition/lcdui/Image;)I

    .line 159
    add-int/lit8 v5, v5, 0x1

    goto :goto_7
.end method
